const foo = bar;
(1 || 2).baz();

const baz = bar
;(1 || 2).baz()

const hello = "world";
[1, 2, 3].forEach(Number);

const hi = "world"
void [1, 2, 3].forEach(Number);

const x = () => {
};
`hello`

const tag = () => {
}
tag `hello`

//github

var a = b;
(x || y).doSomething();

var a = b
;(x || y).doSomething();

var a = b
void (x || y).doSomething();

var a = b;
[1, 2, 3].forEach(console.log);

var a = b
void [1, 2, 3].forEach(console.log);

var a = (
  (123)
);

f(
  (x)
)

let x = function() {};
`hello`;

let x = function() {}
x `hello`;

String.raw `Hi\n${2+3}!`;

x
  .y
z `Valid Test Case`

f(x
)`Valid Test Case`

x.
y `Valid Test Case`

tag<generic>//\`
  //                 multiline
  //               \`;

  tag<
  generic
//  >\`multiline\`;

var a = b
?.(x || y).doSomething();

var a = b
?.[a, b, c].forEach(doSomething)

class C { field1
  [field2]; }

class C { field1
  *gen() {} }

class C { field1 = () => {}
[field2]; }

class C { field1 = () => {}
  *gen() {} }

(x || y).aFunction();

(
  function () {}
)[1];

(x
)`Valid Test Case`

